home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-08-16 | 37.4 KB | 1,123 lines |
- INDRA Note No.1792 UCL INDRA
- INTERNAL
- 27th Aug 1985 Working Paper
-
-
-
-
-
-
-
-
-
-
-
- U C L K E R M I T
-
-
-
-
-
-
-
-
- C. J. Kennington
-
-
-
-
-
-
-
-
-
-
-
-
- ABSTRACT:
- A description of UCL's portable
- implementation of a mainframe Kermit
- file-transfer system, with notes on how
- to obtain and use copies of Kermit.
-
-
-
-
-
-
- Department of Computer Science
-
- University College London
-
-
-
-
-
-
-
-
-
- [UCL Kermit] - 1 - [IN1792, Aug 1985]
-
-
- CONTENTS
- page
-
-
-
- 0. Introduction. 1
-
- 1. UCL Kermit. 1
-
- 2. Invoking UCL Kermit. 2
-
- 3. Command-Line Flags. 3
-
- 4. Debug-File Handling 4
-
- 5. CR/LF Expansion. 5
-
- 6. Automatic (Server) Mode. 5
-
- 7. Cancelling Kermit. 6
-
- 8. Source Text and Dependent Routines. 6
-
- 9. Operating System Assumptions. 7
-
-
-
- APPENDIX I - The Kermit System. 8
-
- 1. Kermit. 8
-
- 2. UCL Kermit. 9
-
- 3. Kermit Performance. 10
-
-
-
- APPENDIX II - Kermit Availability. 12
-
- 1. University of Columbia. 12
-
- 2. UK Distribution. 12
-
- 3. Other Sources. 13
-
- 4. Information Distribution. 13
-
-
-
- APPENDIX III - A Kermit Session. 15
-
-
-
-
-
-
-
-
- [UCL Kermit] - 1 - [IN1792, Aug 1985]
-
-
- 0. Introduction.
-
- This document describes the version of Kermit
- produced at University College London during the first half
- of 1985. To avoid duplication, it is intended to serve
- both as a chapter of the U. of Columbia Kermit Manual and
- as a UCL internal document. General information about
- Kermit is given in Appendix I, which should be read before
- the rest of the document by those not familiar with Kermit
- file-transfer and the Kermit world. Information about
- obtaining and running Kermit programs on various micros
- etc. is given in Appendix II. A simple guide to running a
- Kermit session comprises Appendix III.
-
-
- 1. UCL Kermit.
-
- UCL Kermit is a fairly simple mainframe-only Kermit,
- written at UCL at about the same time that 1985 C-Kermit
- was being written at Columbia. It contains a certain
- amount of the code from 1983 Unix-Kermit (as printed in the
- 1984 Kermit Protocol Manual), and its user-interface
- derives also from that Kermit. It is being made available
- generally because it is believed to have something to offer
- in the fields of portability, diagnostic capacity, and
- possibly efficiency. These matters are discussed further
- in later parts of this document.
-
- UCL Kermit Capabilities At A Glance:
-
- Local operation: No
- Remote operation: Yes
- User Interface: Command-line
- Transfers text files: Yes (CR/LF checks)
- Transfers binary files: Yes (image/prefixed)
- Wildcard send: Yes (on command-line)
- ESC interruption: Yes
- Filename collision avoidance: No
- Can time out: Yes
- 8th-bit prefixing: Yes
- Repeat count prefixing: Yes
- Alternate block checks: No
- Terminal emulation: No
- Communication settings: Depends on system
- Transmit BREAK: No
- IBM communication: No
- Diagnostic logging: Yes
- Session logging: No
- Raw upload/download: No
- Act as server: Yes
- Talk to server: No
- Advanced commands for servers: No
- Local file management: No
- Handle file attributes: No
- Command/init files: No
- Printer control: No
-
-
- [UCL Kermit] - 2 - [IN1792, Aug 1985]
-
-
- UCL Kermit handles only the file-transfer aspects of
- Kermit (including a modest Server capability). It has no
- facilities for routing through the mainframe to work with
- another (remote) Kermit, nor does it support the Kermit
- "remote session" facilities. It is designed for an
- environment in which effective terminal access to
- mainframes is already available over general-purpose
- networks.
-
- Further development of UCL Kermit is unlikely. The
- status of the code is "Copyright UCL and U. of Columbia",
- but free permission is given to copy and use it for all
- non-commercial purposes. Commercial use is governed by the
- U. of Columbia regulations on the subject.
-
- UCL Kermit has been developed on PDP 11/44s running
- Unix(tm) (Berkeley 2.8), but has been ported to a number of
- other systems. When discussing mainframe-system-oriented
- matters, this document uses unix terminology, but the
- principles remain valid even if the program has been ported
- to a system with different characteristics
-
-
- 2. Invoking UCL Kermit.
-
- UCL Kermit runs as a normal unix program. It is
- started by the user issuing a normal command-line to the
- unix shell, and terminates when its work is finished,
- leaving the user again in communication with the shell.
- All its command-information comes from either the
- parameters on the command-line invoking it, or by way of
- commands from the local Kermit. It has no interactive
- command mode, neither does it make use of any init-file to
- alter its various defaults. It is fairly verbose, both
- when starting up and when logging in its debug file. Where
- appropriate, it identifies its output with the prefix
- "KmUCL".
-
- Kermit is invoked with a command-line of the following
- format:-
-
- kermit [-flags] [-Ddebugfile] [filename(s)]
-
- where the flags and debugfile are as described in the next
- sections and the filenames are normal references to unix
- files. Since the command-line is processed by the unix
- shell, wildcards may be used in filenames as in any other
- unix command. The filenames are included only in the case
- where a "s" parameter (send files) is included in the
- flags. The "-" preceding the flags is optional, but that
- before the "D" is mandatory.
-
-
-
-
-
-
-
- [UCL Kermit] - 3 - [IN1792, Aug 1985]
-
-
- 3. Command-Line Flags.
-
- The following flags are valid. Each consists of a
- single lower-case character only. Where they define
- mutually-exclusive actions, to include more than one from
- the mutually-exclusive group constitutes an error, which is
- detected. Invalid characters in the flags also consititues
- an error. On detecting any such error, UCL Kermit displays
- a short summary of the valid flag-codes and terminates.
-
-
- s - send-flag
- r - receive-flag
- a - automatic-flag
-
- These form a mutually exclusive group. UCL Kermit, after
- outputting banners etc, switches to send, receive or
- automatic (server) mode according to which one is entered.
- If none is included in the flags, automatic is assumed.
-
- Iff a "s"-flag has been included, then one of more
- filenames must be appended. These specify the files to be
- sent. Wildcards (as accepted by unix) may be included.
-
-
- h - help-flag (alternative: ?)
-
- This flag overrides all others and causes 2 screensfull
- (about 45 lines) of help-information to be displayed.
-
-
- f - filename-conversion flag
-
- If this flag is present, then the filenames sent will be
- allowed to remain in upper or lower (or mixed) case, as
- found on the disks. By default, UCL Kermit converts all
- unix filenames (typically lower-case) to upper-case before
- sending them as the name of the file to be transferred.
-
-
- 7 - 7-bit flag
- 8 - 8-bit-prefixing flag
- i - binary-image flag
-
- These form a mutually exclusive group. "7" specifies that
- the files are to be treated as files of ASCII character
- data; characters received are masked to 7 bits (discarding
- any parity-bits) before storing, and characters sent have
- the top bit zero; CR/LF expansion is activated (see section
- 5). "8" specifies that UCL Kermit should attempt to
- negotiate 8th-bit prefixing with the local (micro) Kermit;
- this is the default if no such flag is included. If the
- local Kermit refuses to use 8th-bit prefixing, then the
- transfer reverts to 7-bit mode as described above.
- "i" (image-mode) specifies that the file is to be
- sent/received as 8-bit characters. CR/LF expansion is
- inhibited in 8th-bit prefixing and image-modes.
-
- [UCL Kermit] - 4 - [IN1792, Aug 1985]
-
-
- Repeat-count-prefixing (data-compression) is always
- "on". It will be used if the local Kermit agrees. Use of
- this facility makes no difference to the accuracy of the
- transfer, but can materially affect the time needed.
-
-
- 4. Debug-File Handling and Information Recorded.
-
- The second (optional) parameter of the command-line
- consists of a minus sign, one or more capital D's and the
- name of a file into which debugging information is to be
- written. If no debug is required, then the whole parameter
- should be omitted. There may be up to three capital D's,
- controlling the debugging level to be used; they are
- followed without a space by the name of the file into which
- debug is to be written. (This precludes the use of a file
- whose name starts with a capital D.) A null filename is an
- error and results in debug being switched off.
-
- UCL Kermit always checks rigorously that incoming
- packets conform to the Kermit protocol as laid down.
- Protocol errors are always reported (in ERROR-packets) to
- the local Kermit; if debug is switched on details will also
- be logged in the debug file.
-
- The debug file is opened in "append" mode, so that one
- file may hold the debug output from several runs. At the
- beginning and end of each run a banner is put into the file
- so that the start of each run may be easily located. No
- check is performed to prevent the debug-file from also
- being specified as a file to be sent.
-
- Level-1 debug (a single D) consists of a record of the
- way in which the program is used, plus a note of the files
- sent or received, packet by packet. The details of the I-
- packet negotiation are logged; error-packets sent by or to
- the local Kermit are also logged, as are the details of any
- transmission errors which may be detected. Level 1 debug
- is intended to serve as a record of activity and to
- identify errors at the protocol level, especially when a
- revised or new local Kermit is in use.
-
- Level-2 debug (2 D's) prints in addition the details
- of each packet as it is sent or received. It is intended
- for use where there is some problem to do with the
- formatting of the packets exchanged or the data in them.
-
- Level-3 debug (3 D's) adds a subroutine-trace through
- the program, plus a record of each character sent or
- received on the communications line (in hex). The main use
- of this is where there is a communications problem such
- that no packets are ever received successfully, or some
- packets are entirely lost.
-
-
-
-
-
- [UCL Kermit] - 5 - [IN1792, Aug 1985]
-
-
- 5. CR/LF Expansion.
-
- In the case of 7-bit file transfers only, care is
- taken to ensure that each line of text in the file is sent
- terminated by a single CR/LF pair, and each line of text
- received is terminated by a single LF before being stored.
- If a file is found to contain strings of repeated or
- intermixed CRs, LFs and CR/LF pairs, these are processed so
- that each CR/LF or LF/CR, and each CR or LF which does not
- pair with a LF or CR respectively, converts to a CR/LF pair
- for transmission or a single LF for storage. This is
- believed to be what is needed for all unix-based systems.
- The routine which carries out this transformation is
- included in the "machine-dependent" section (see below) so
- that it may be easily modified if necessary when porting
- the program to a new mainframe.
-
- CR/LF expansion is essential if files are to be
- transferred correctly between unix (which uses LF as a
- line-terminator) and systems such as CP/M which use CR
- instead. For this reason care should be taken that, if a
- text-file is being transferred, 8th-bit-prefixing is not
- accidentally switched on. See Appendix III.
-
-
- 6. Automatic (Server) Mode.
-
- When in automatic mode, UCL Kermit behaves as a rather
- simple Kermit server. It is not really a server, since it
- is running as the creature of the user-shell which invoked
- it. It will accept the following commands from the local
- Kermit:-
-
- SEND - allow local Kermit to send files (as many as
- the local Kermit may wish);
-
- GET - send one or more files to the local Kermit; the
- names should be entered into the get-request assuming the
- path which was in existence when UCL Kermit was invoked; no
- wildcards are allowed.
-
- BYE and LOGOUT - both cause UCL Kermit to terminate
- gracefully and leave the remote Kermit (if still online)
- connected to the unix shell.
-
- An ERROR packet - this has the same effect as BYE.
-
- After automatic mode, as after send or receive modes,
- UCL Kermit terminates like any other unix program, leaving
- the shell in control.
-
-
-
-
-
-
-
-
- [UCL Kermit] - 6 - [IN1792, Aug 1985]
-
-
- 7. Cancelling Kermit.
-
- Any error packet received at any time, or any
- substantial protocol error, will cause UCL Kermit to
- terminate (fairly) gracefully. Situations can, however,
- arise where UCL Kermit has not received an error but the
- local Kermit has failed or been inadvertently cancelled.
- In these cases UCL Kermit will repeatedly time out, sending
- a NAK (and a message in clear as well) each time it does
- so. In all cases except automatic-mode, the timeouts will
- eventually reach a limit and UCL Kermit will quit, but it
- is not convenient to have to wait this long.
-
- If the local Kermit has a "send-error-packet"
- facility, this may be used to cancel UCL Kermit.
- Alternatively, using the local Kermit in connect-mode, the
- sequence "ESC-C" will be recognized and cause UCL Kermit to
- abort gracefully, restoring the communications line to
- "cooked" before it does so. The only time when this is not
- effective is if UCL Kermit times out between the ESC and
- the C.
-
-
- 8. Source Text and Machine Dependent Routines.
-
- The source of UCL Kermit consists of a single large
- file of code which it is believed will run unchanged under
- any operating system (subject to the provisos below) plus a
- short file containing about 10 procedures which are thought
- to be potentially machine- or system- or compiler-
- dependent. These are fairly heavily commented, but the
- following notes may be useful.
-
- CR/LF processing is controlled by routines ascedit()
- and ascout(). These are called whenever a CR or LF is
- encountered in text-data to be sent or received
- respectively. (See above, section 5.)
-
- Errors when reading/writing data from/to disk are
- controlled by routine filerr(), whose function is to return
- a sensible error-code (for logging in the debug file and
- reporting to the local Kermit), and to distinguish errors
- from normal end-of-file conditions.
-
- Routine flushinput() is called whenever there is a
- need to discard characters already received.
-
- Functions rawtty() and cooktty() are called when it is
- necessary to convert the mode of the terminal connection
- from that normally used by the system to one in which all
- characters are passed to/from the program without editing.
- Function unbuffer() is called during initiation to ensure
- that input/output on the communications line is not delayed
- e.g. by waiting for end-of-line characters.
-
-
-
-
- [UCL Kermit] - 7 - [IN1792, Aug 1985]
-
-
- The whole of the main character-input routine,
- nextin(), is included in the machine-dependent section,
- together with the the timeout-setting routine, timoset().
- These interact because there is a fundamental difference
- between systems in which a timeout expiring will cause an
- unsatisfied character-read to abort and one in which it
- will not. The "#ifdef" parameter "BSD42" controls which of
- these situations is expected; but systems other than unix
- may require yet other types of logic. The timeout handling
- is intentionally kept very simple so that there is no
- reliance on unix-oriented features of C such as "longjump".
-
-
- 9. Operating System Assumptions.
-
- In considering the portability of UCL Kermit, certain
- assumptions were made about the environment in which it
- would be running. These certainly include:-
-
- -- that the system stores its files (or at least
- retreives them from storage) in ASCII with line-terminators
- rather than record-delimiters or carriage-control
- characters;
-
- -- that the system supports users on teletype-like
- terminals, and that these terminal-users can invoke
- programs and access files without unreasonable restraint;
-
- -- that the terminal-line can be set into such a mode
- that it will pass a character-set comprising all printable
- characters plus SOH (01) transparently to and from the
- user's program.
-
- It is believed that UCL Kermit can be ported to any
- system which meets these (and possibly a few other
- unrecognized) criteria, with only a small amount of
- attention to the routines discussed in section 8. The
- author would be interested to receive reports from anyone
- who carries out such porting.
-
- ********************************************
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [UCL Kermit] - 8 - [IN1792, Aug 1985]
-
-
- APPENDIX I - The Kermit System.
-
-
- [This Appendix provides a general
- description of Kermit file-transfer and the
- way in which UCL Kermit fits into the
- general picture.]
-
-
- 1. Kermit.
-
- Kermit is a system designed at the University of
- Columbia, New York to permit file transfer between
- computers, both micro and mainframe, and access to a
- substantial proportion of a mainframe's file-handling and
- general organizing ability. It requires no special
- communications facilities beyone those normally provided
- for direct "time-sharing" terminal access to a mainframe.
- The U. of Columbia Kermit User Manual and Kermit Protocol
- Manual provide the basic documentation of Kermit and
- describe its facilities and a selection of its
- implementations. A more general discussion of the reasons
- which led to the production of Kermit is contained in an
- edited version of an article from Byte magazine. All these
- documents may be obtained from Columbia, but are also held
- online at various centres (including, at the time of
- writing, UCL). See Appendix II.
-
- Kermit does not make use of the sort of reliable
- connections over computer communications which are provided
- by the various ISO and other protocols. It must be
- considered to belong to an earlier generation of
- communications activities. Its great advantage is that
- there are now in existence implementations for almost the
- whole range of general-purpose computers, micro mini and
- mainframe, all of which can be expected to interwork
- without difficulty. It therefore provides a practical
- state-of-the-art solution to the problems of transferring
- files between micro computers and mainframes, or between
- micros of differing natures. The files transferred may be
- either text or binary, but must be of a sequential nature.
-
- Kermit protocol includes packet-numbering and
- checksums with error-recovery to ensure that any file
- transfer which completes normally will actually have
- transferred a correct copy of the file. The only
- exceptions to this general rule are:-
-
- -- where 8-bit-image transfers are used, the 8th bit
- may not be checked effectively.
-
- -- where systems use different conventions for end-
- of-line, CR/LF expansion must be activated (see
- above section 5).
-
-
-
-
- [UCL Kermit] - 9 - [IN1792, Aug 1985]
-
-
- -- where a binary file (8-bit data) is to be
- transferred, but one end or other has not
- implemented the neccessary option.
-
- Kermit also provides a mainframe-to-mainframe
- capability, enabling a terminal user on one mainframe to
- acquire a link to another and conduct a substantial remote
- session on it, including file-transfer between the two. In
- the U.S.A. this is apparently much used. The U.K. Academic
- Community has a well-developed system of access to remote
- mainframes, using X25 protocols. In this environment,
- Kermit-based inter-mainframe working seems superfluous (and
- likely to consume excessive resources). It is for this
- reason, among others, that UCL Kermit has been designed to
- a specification which is restricted compared with that used
- for some of the American implementations.
-
- Kermit is, of course, only one of a family of
- protocols designed to transfer files between micros and
- mainframes, mostly using rather similar techniques. Its
- main advantages are widespread availability and the fact
- that it is free. Kermit is not "public domain" but
- "copyright, freely available"; as such all Kermits must be
- made available either without charge or at cost-of-
- distribution. This policy of Columbia's has resulted in
- widespread distribution of Kermits as they have come into
- existence. See also Appendix II.
-
-
- 2. UCL Kermit.
-
- UCL Kermit was produced at the Department of Computer
- Science to provide at UCL a simple reliable Kermit to run
- on all the Department's unix systems. The immediate
- objective was the transfer of text files to and from
- various micros (BBCs, Sirius etc.), but the opportunity was
- taken to write a version which would move easily to almost
- any environment in which asynchronous ASCII terminals were
- supported for command-input. See sections 8 & 9 above.
-
- Since there is in fact no real problem in letting
- terminals at one UK academic site access the computers at
- another (using JANET and X29), no facilities were provided
- for routing through the mainframe to the outside world. In
- Kermit terminology, this is a "remote-only" Kermit. This
- policy also had the advantage of avoiding the areas in
- which many facilities are provided in highly system-
- specific (and hence non-portable) ways.
-
- UCL Kermit used as a starting-point the C-coded
- example version included in the Protocol Manual. This was
- designed to run under unix, and does not provide a
- conversational interface to the user. UCL Kermit therefore
- also expects to get its full commands from an OS command-
- line, entering either file-transfer or automatic mode as
- soon as it has output its informative banners.
-
-
- [UCL Kermit] - 10 - [IN1792, Aug 1985]
-
-
- While UCL Kermit was in gestation, Columbia released
- their completely new C-Kermit, which provides almost all
- possible Kermit facilities on a wide range of unix-like and
- other systems. C-Kermit is a much fuller implementation
- than UCL Kermit, and could be preferred in many
- circumstances. The principal areas in which it is believed
- that UCL Kermit scores are in ease of porting to new
- systems and in its very full diagnostic tools (see above).
- There may also be installations in which the system
- managers would prefer not to provide the full Kermit
- facilities to route through from one mainframe to another
- over lines intended for terminal access.
-
-
- 3. Kermit Performance.
-
- Few systematic measurements of Kermit performance have
- been published. The implementations for various computers
- differ widely in techniques, languages and in the operating
- systems for which they are designed. It is known that some
- of the implementations for "generic" micros, e.g. those
- running under CP/M, are cpu-intensive and cannot drive fast
- communications lines. However, many of the more specific
- Kermits are very efficient.
-
- Since the data is transferred over a normal terminal-
- line in asynchronous mode, the actual line speed (e.g. 960
- char/sec for a 9600baud line) is an upper limit to the
- possible character rate. This has to be reduced for the
- overhead of the envelope of each packet and for the
- acknowledgments, but these are arranged to be quite small.
- Kermit data (except in image-mode) is encoded by a
- prefixing system to allow control-characters and 8-bit
- characters to be passed over a medium with a restricted
- character-set. The degradation caused by this is
- potentially large; but in practice the majority of text-
- files incur quite low overheads (less than 10%) from this
- encoding. Against this can be set the compression effected
- by using repeat-counts, which can often be greater than 20%
- in files such as formatted program source. The largest
- delays are usually the inter-block times caused by
- scheduling in the mainframe and by cross-network time on
- long connections. Disk operations can also cause
- substantial delays on some micro operating systems.
-
- In good conditions, e.g. with back-to-back micros,
- Kermit will often achieve net transfer rates greater than
- 60% of the limit imposed by the line-speed (i.e. more than
- 600 char/sec at 9600baud). Working between a micro and a
- mainframe, provided that the latter is not so heavily
- loaded as to show a degraded response time, rates greater
- than 40% of line-speed have been observed. These speeds
- cannot be expected to compare with those achieved by
- protocols such as NIFTP over X25 using fast (48Kbaud)
- lines, but are adequate for the majority of micro-mainframe
- and micro-micro transfers.
-
-
- [UCL Kermit] - 11 - [IN1792, Aug 1985]
-
-
- It is perhaps more relevant to compare the transfer
- speeds achieved by Kermit with those of other similar
- micro-file-transfer systems. Kermit is believed to achieve
- higher net transfer rates than most of its competitors.
-
- UCL Kermit has been designed so that it will give high
- performance while making only modest demands on the cpu-
- power of the system on which it is running.
-
- ********************************************
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [UCL Kermit] - 12 - [IN1792, Aug 1985]
-
-
- APPENDIX II - Kermit Availability.
-
-
- [This Appendix provides information on
- the sources from which copies of Kermit
- programs and further information about
- Kermit may be obtained by users in the UK.]
-
-
- 1. University of Columbia Distribution.
-
- The Center for Computing Activities at the University
- Of Columbia maintain a database containing copies of all
- known Kermit implementations and documentation. This is
- held online (on a TOPS-20 machine), accessible over ARPANET
- as CU20B, using "anonymous ftp" and arpaftp protocol (log
- in as "anonymous"). UK users can obtain further
- information about use of Arpanet from the Liason section at
- UCL Dept. of Computer Science. Columbia will also supply
- copies of the bulk of this database on magnetic tape in
- various formats at a distribution cost of (currently) 100
- dollars. Printed copies of the User and Protocol Manuals
- are available at (currently) 10 dollars each. Application
- should be made to:-
-
- Kermit Distribution
- Center for Computing Activities
- Columbia University
- New York, N.Y. USA 10027
-
- There are a number of other copies of this database
- accessible in the USA, notably one held on a unix system
- which can be reached via UUCP. Details are given
- intermittently in the Columbia Kermit Information-Digests.
- These are edited versions of electronic mail exchanged
- between Columbia and Kermit users, plus announcements of
- general interest etc. They are issued approximately weekly
- by electronic mail to a mailing-list held at Columbia.
- Various UK sites receive copies, including UCL and
- Lancaster. Copies of all back issues are held in the
- Columbia database.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [UCL Kermit] - 13 - [IN1792, Aug 1985]
-
-
- 2. UK Distribution.
-
- [This information is correct at time of writing but
- obviously may change with time.]
-
- The University of Lancaster obtain copies of the
- Columbia distribution tapes several times a year and keep
- the majority of the information available in a database on
- their VAX computer. They also update this from time to
- time by direct arpaftp transfers from Columbia. This
- database is available to UK Academic Community over JANET
- by NIFTP or Kermit. Further information may be obtained
- from:-
-
- Alan Phillips
- The Computer Centre
- University of Lancaster
- LANCASTER
-
- or by sending JANET mail to "syskermit@lancs.vax1", or by
- telephoning 0524-65201 Xtn 4881.
-
- Lancaster are themselves the authors of the
- implementaion of Kermit for the BBC micro. They will
- supply this on request either in a PROM or on floppy. They
- are also able to supply on floppy the version for the IBM-
- PC family (and clones). Kermit for Research Machines
- micros (480Z and Nimbus) is obtainable from Tech. Support
- at RML, Oxford. Kermit for Apricots is available form
- Ralph Mitchell at Brunel University.
-
- Versions of Kermit for PRIME computers are available
- from Teesside Polytechnic; and for GEC 4000-series from
- Paul Bryant at the Rutherford-Appleton Laboratory.
-
-
- 3. Other Sources.
-
- The Kermit fraternity is not highly organized; in
- particular there is little contact in the UK between the
- Academic and Commercial users. It is known however that
- both DECUS and the IBM-PC User Group hold and distribute
- copies of Kermit for the machines in which they are
- interested.
-
- Kermit is widely in use in the UK Academic community.
- There are obvious bootstrapping problems in transferring a
- Kermit from the disks at Lancaster to a micro, but most of
- the micro-Kermits are probably now in use somewhere in the
- UK. Any user wanting to obtain a copy on floopy of some
- particular Kermit (not mentioned above) is advised to send
- an appeal out to "info-kermit@ucl.cs". The Kermit
- fraternity is supposed to practice self- and mutual-help.
-
-
-
-
-
- [UCL Kermit] - 14 - [IN1792, Aug 1985]
-
-
- 4. Information Distribution.
-
- At the time of writing, UCL are maintaining a mail
- distribution list "info-kermit@ucl.cs". Anyone who wishes
- may send mail to this list, which contains names of some 50
- UK Kermiteers. Requests for inclusion on the list should
- be addressed to "cjk@ucl.cs". [This situation is likely to
- change radically by early 1986.]
-
- Both Lancaster and UCL hold copies of the Columbia
- Information-Digests, which are accessible by NIFTP, Kermit
- or normal login. For information on accessing the UCL
- copies, contact Liason at UCL Dept. Computer Science. UCL
- notify the info-kermit list as new issues are placed
- online.
-
- Lancaster issue "Mailshots" a few times a month to the
- info-kermit distribution list giving information on current
- activities.
-
- ********************************************
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [UCL Kermit] - 15 - [IN1792, Aug 1985]
-
-
- APPENDIX III - Running a Kermit Session.
-
-
- [This Appendix assumes that Kermit is
- being used between a micro and the UCL
- systems. Much of it is obviously
- applicable to other Kermit connections.]
-
-
- Running a Kermit session is complicated by the fact
- that the user, sitting at the keyboard of a micro, is in
- contact both with the micro-OS (e.g. CP/M) plus the Kermit
- running on it (called the "local Kermit"), and also with
- the mainframe-OS (unix) plus the mainframe Kermit (UCL
- Kermit). At any one time keyboard input will be going
- either to the local system or to unix; screen output may
- however contain information originating from both. The
- behaviour of UCL Kermit is discussed above, and it is
- assumed that the user has some familiarity with unix. The
- behaviour of the local setup depends however on the actual
- micro being used.
-
- When obtaining the Kermit for the micro, you will have
- acquired at least some instructions for running it.
- Instructions for the most common micro-Kermits are also
- included in the Columbia Kermit User Manual, a copy of
- which is invaluable. Most micro-Kermits, however, work in
- much the same way.
-
- At the risk of stating the obvious, Kermit will not
- run between micro and mainframe until the hardware
- communications link has been established. If no other
- software tools are available, put the micro-Kermit into
- "connect" mode while doing this. When you have managed to
- log on to the mainframe and list a file by "type", "cat" or
- etc., then you are ready to proceed with file-transfers.
-
- The micro-Kermit will probably supply four modes of
- working:
-
- -- CONNECT, in which it behaves as a normal terminal;
- -- SEND, in which it will transfer files to the
- mainframe;
- -- RECEIVE, in which it will accept incoming files
- from the mainframe;
- -- COMMAND, in which it will send commands to the
- mainframe to send or get (receive) files
- or do a number of other things.
-
- It may be that COMMAND mode is in fact represented by a
- number of commands such as GET etc.
-
-
-
-
-
-
-
- [UCL Kermit] - 16 - [IN1792, Aug 1985]
-
-
- CONNECT is used, working as a terminal, to log on to
- the mainframe, do any necessary housekeeping and then start
- the mainframe Kermit. It is probably also needed at the
- end of the session for logging out etc. What sort of a
- terminal the micro is emulating depends on the details of
- the local Kermit.
-
- SEND / RECEIVE and COMMAND represent two different
- ways of using Kermit, which will be described separately.
- UCL Kermit supports both; not all Kermits support COMMAND.
- (COMMAND is often referred to as "Send Server Command"
- mode, because the local Kermit is in fact sending
- specially-formatted commands to the mainframe Kermit,
- expecting it to be in "Server" mode. UCL Kermit's
- "automatic" mode corresponds to this.)
-
- To use SEND, you must first (while in CONNECT) start
- UCL Kermit to receive files by a command-line such as:-
-
- kermit r7
-
- After UCL Kermit's initial banners have been received, you
- must escape out of CONNECT (see local Kermit instructions)
- and issue a SEND command to the local Kermit. This will
- probably prompt you for a list of files to be sent. When
- this has been entered, the two Kermits should transfer the
- files without more ado. Your micro-Kermit will give you
- some information as to how the transfer is progressing; the
- amount depends very much on which particular micro-Kermit
- you are running. At the end of the transfer, UCL Kermit
- will terminate and leave the unix shell in control. The
- micro-Kermit will tell you that this has happenned. You
- should put it back into CONNECT and carry on working unix.
-
- To use RECEIVE, you must first (while in CONNECT)
- start UCL Kermit to send files by a command-line such as:-
-
- kermit s7 foo data1 fudge*
-
- After UCL Kermit's initial banners have been received, you
- must escape out of CONNECT (see local Kermit instructions)
- and issue a RECEIVE command to the local Kermit. The two
- Kermits should then proceed much as they did for SEND, but
- with the file going in the opposite direction. You end up
- back with unix.
-
- To use COMMAND (in whatever way the local Kermit
- implements it), you must first (while in CONNECT) start up
- UCL Kermit in automatic mode by a command-line such as:-
-
- kermit a7
-
- The initial banners will tell you to send commands. Escape
- back to your local Kermit and follow its instructions for
- working with server Kermits. In this mode you can do a
- succession of SENDs or GETs; UCL Kermit simply waits for
- the next command. To get back to unix you have to use the
-
- [UCL Kermit] - 17 - [IN1792, Aug 1985]
-
-
- BYE or LOGOUT or FINISH command of the local Kermit (or go
- into CONNECT and send ESC-C). Note that UCL Kermit does
- not implement the esoteric commands such as DIR and FINGER;
- to list directories or see who's online you must get back
- to unix.
-
- You are most likely to be transferring a text-file.
- if this is the case, it is often essential that CR/LF
- expansion is active (see above section 5). Therefore make
- sure that one or other of the two Kermits is firmly set to
- transfer 7-bit data. If both ends are set to deal with
- 8th-bit-prefixed (binary) data, then CR/LF expansion will
- get switched off. UCL Kermit's default is 8th-bit-prefixed
- (see section 2 above). See the instructions of the local
- Kermit for its default and settings.
-
- Unfortunately, as with all communications, lots can go
- wrong. Discussing this is beyond the scope of this Note.
- However, a sensible connection to unix (to let you start
- again) should always be possible by escaping back into
- CONNECT on the micro and sending ESC-C to UCL Kermit.
-
- ********************************************
-